package cn.lili.common.security.enums;

/**
 * 与对象中哪个值进行比对枚举
 *
 * @author Chopper
 * @version v1.0
 * 2022-09-27 11:51
 */
public enum ObjectFieldEnum {
    /**
     * ID：id 字段
     * EXTEND_ID： 场景下的id字段（例如店铺子管理员的 id、供应商id）
     * SCENE：根据场景+场景id进行判定
     */
    ID("id"),
    EXTEND_ID("extendId"),
    MEMBER_ID("memberId"),
    BUYER_ID("buyerId"),
    STORE_ID("storeId"),
    SELLER_ID("sellerId"),
    SUPPLIER_ID("supplierId");

    String field;

    ObjectFieldEnum(String field) {
        this.field = field;
    }

    public String field() {
        return field;
    }

    public String getField() {
        return "get" + upFirstWords(field);
    }

    /**
     * 首字母大写
     */
    static String upFirstWords(String str) {
        return str.substring(0, 1).toUpperCase() + str.substring(1);
    }

    public static void main(String[] args) {
        System.out.println(ObjectFieldEnum.ID.getField());
    }
}
